home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / nrpas13.zip / ROFUNC.PAS < prev    next >
Pascal/Delphi Source File  |  1991-04-29  |  655b  |  28 lines

  1. FUNCTION rofunc(b: real): real;
  2. (* Programs using ROFUNC must declare
  3. CONST
  4.    ndata = [the number of data points]
  5. VAR
  6.    aa,abdevt: real;
  7.    x,y,arr: ARRAY [1..ndata] OF real;
  8. in the main routine. *)
  9. VAR
  10.    d,sum: real;
  11.    j,n1,nmh,nml: integer;
  12. BEGIN
  13.    n1 := ndata+1;
  14.    nml := n1 DIV 2;
  15.    nmh := n1-nml;
  16.    FOR j := 1 TO ndata DO arr[j] := y[j]-b*x[j];
  17.    sort(ndata,arr);
  18.    aa := 0.5*(arr[nml]+arr[nmh]);
  19.    sum := 0.0;
  20.    abdevt := 0.0;
  21.    FOR j := 1 TO ndata DO BEGIN
  22.       d := y[j]-(b*x[j]+aa);
  23.       abdevt := abdevt+abs(d);
  24.       IF (d > 0.0) THEN sum := sum+x[j] ELSE sum := sum-x[j]
  25.    END;
  26.    rofunc := sum
  27. END;
  28.